From e39a71dceb2f8b56e8a1c5df88241391e4de758a Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Mon, 17 Jul 2006 13:57:38 +0000 Subject: [PATCH] check if the iter still has children after running the test-expand-row 2006-07-17 Kristian Rietveld * gtk/gtktreeview.c (gtk_tree_view_build_tree): check if the iter still has children after running the test-expand-row func, (gtk_tree_view_real_expand_row): ditto. (#302127, Billy Biggs). --- ChangeLog | 6 ++++++ ChangeLog.pre-2-10 | 6 ++++++ gtk/gtktreeview.c | 6 +++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 755fcd3dcf..f2319ff2c5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-07-17 Kristian Rietveld + + * gtk/gtktreeview.c (gtk_tree_view_build_tree): check if the iter + still has children after running the test-expand-row func, + (gtk_tree_view_real_expand_row): ditto. (#302127, Billy Biggs). + 2006-07-17 Michael Natterer * gtk/gtkcalendar.c (calendar_timer): use 5 * gtk-timeout-repeat, diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 755fcd3dcf..f2319ff2c5 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,9 @@ +2006-07-17 Kristian Rietveld + + * gtk/gtktreeview.c (gtk_tree_view_build_tree): check if the iter + still has children after running the test-expand-row func, + (gtk_tree_view_real_expand_row): ditto. (#302127, Billy Biggs). + 2006-07-17 Michael Natterer * gtk/gtkcalendar.c (calendar_timer): use 5 * gtk-timeout-repeat, diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 6eb50303d9..17fda0b489 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -8635,7 +8635,8 @@ gtk_tree_view_build_tree (GtkTreeView *tree_view, g_signal_emit (tree_view, tree_view_signals[TEST_EXPAND_ROW], 0, &iter, path, &expand); - if (!expand) + if (gtk_tree_model_iter_has_child (tree_view->priv->model, iter) + && !expand) { temp->children = _gtk_rbtree_new (); temp->children->parent_tree = tree; @@ -11727,6 +11728,9 @@ gtk_tree_view_real_expand_row (GtkTreeView *tree_view, g_signal_emit (tree_view, tree_view_signals[TEST_EXPAND_ROW], 0, &iter, path, &expand); + if (!gtk_tree_model_iter_has_child (tree_view->priv->model, &iter)) + return FALSE; + if (expand) return FALSE; -- 2.30.2